/*
 * Copyright 2022-2029 heshuixing(https://gitee.com/heshuixing)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.mercury.ec.framework.air.core.client.impl.sunstn.dto.etdz;

import com.mercury.ec.framework.air.core.client.impl.sunstn.dto.SunstnCommonReqDTO;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * ETDZ Request DTO
 *
 * @author hesx
 */
@Data
@NoArgsConstructor
public class SunstnEtdzReqDTO extends SunstnCommonReqDTO {
    /**
     * 【必选】六位编码
     */
    private String pnr;

    /**
     * 【必选】出票所选用的 office号
     */
    private String officecode;

    /**
     * 【必选】打票机终端号
     */
    private String printid;

    /**
     * 编码后的签转信息，缺省为“不得签转”
     */
    private String ei = "不得签转";

    /**
     * CT 项内容
     */
    private String ct;

    /**
     * LOW 当出现多个票价时，按最低票价出票
     * HIGH 当出现多个票价时，按最高票价出票
     * 具体价格则按找此价格出票
     * （当 PAT 项无此价格匹配项，则出票失败，该价格为总
     * 价格（票面+机建+燃油））如果不设置此参数，则遇到多
     * 个票价时，系统返回出票失败
     */
    private String price;

    /**
     * 用户自定义执行 PAT 时的指令行，例如 PAT:A*YD
     */
    private String pat_cmd;

    /**
     * 出现多个价格时，指定出票时的票价基础
     */
    private String fare_basis;

    /**
     * UATP 方式出票时，CCV 指令行 <br/>
     * 信用卡种类 信用卡号/验证金额/有效期/[货币种类] <br/>
     * CCV:TP122000200594946/1260.00/0617/CNY
     */
    private String uatp_ccv;

    /**
     * 大客户编码
     */
    private String customer_code;

    /**
     * 当使用德付通出票时的德付通出票密码
     */
    private String dpay_pwd;

    /**
     * 用户自定义执行 Etdz 时的指令行，例如 etdz:1/P1
     */
    private String etdz_cmd;

    @Override
    public String getCmd() {
        return "ETDZ";
    }
}
